//
//  SISSProgressCell.m
//  SISSAPP
//
//  Created by 优房网 on 2017/6/21.
//  Copyright © 2017年 优房网. All rights reserved.
//

#import "SISSProgressCell.h"

@interface SISSProgressCell ()

@property (nonatomic, strong) UILabel *titleLabel;
@property (nonatomic, strong) UILabel *timeLabel;
@property (nonatomic, strong) UILabel *contentLabel;

@end
@implementation SISSProgressCell



- (void)setTitle:(NSString *)title {
    _title = title;
    
    self.titleLabel.text = title;
    
    [self setNeedsDisplay];
}

- (void)setTimeStr:(NSString *)timeStr {
    _timeStr = timeStr;
    if (self.progressStatus == 2) {
        self.timeLabel.text = @"进行中…";
    } else {
        self.timeLabel.text = timeStr;
    }
}


#pragma mark - UI
- (void)initUI {
    
    UILabel *titleLabel = [[UILabel alloc] init];
    titleLabel.text = @"卖家发布客源信息";
    titleLabel.numberOfLines = 0;
    titleLabel.font = [UIFont systemFontOfSize:14];
    titleLabel.textColor = MAIN_TEXT_COLOR;
    [self.contentView addSubview:titleLabel];
    self.titleLabel = titleLabel;
    
    UILabel *timeLabel = [[UILabel alloc] init];
    timeLabel.font = [UIFont systemFontOfSize:12];
    timeLabel.textColor = COLOR(0xABB5BE);
    timeLabel.text = @"3月6日";
    timeLabel.textAlignment = NSTextAlignmentCenter;
    [self.contentView addSubview:timeLabel];
    self.timeLabel = timeLabel;
    
    UILabel * contentLabel = [[UILabel alloc] init];
    contentLabel.font = [UIFont systemFontOfSize:13];
    contentLabel.textColor = COLOR(0x4E5F6F);
    contentLabel.numberOfLines = 0;
    [self.contentView addSubview:contentLabel];
    self.contentLabel = contentLabel;
    
}

#pragma mark - 约束
- (void)initConstraint {
    WeakSelf
    CGFloat margin = 8.0;
    [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.equalTo(weakSelf.contentView).offset(5 * margin);
        make.centerY.equalTo(weakSelf.contentView.mas_top).offset(28);
        make.right.equalTo(weakSelf.timeLabel.mas_left).offset(- margin).priority(999);
    }];
    
    [self.timeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
        make.right.equalTo(weakSelf.contentView).offset(-margin);
        make.centerY.equalTo(weakSelf.titleLabel);
        make.width.mas_equalTo(9 * margin);
    }];
    
    [self.contentLabel mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(weakSelf.titleLabel.mas_bottom).offset(margin);
        make.left.equalTo(weakSelf.titleLabel);
        make.right.equalTo(weakSelf.contentView).offset(-2 * margin);
    }];
}



#pragma mark - 绘制左侧圆、实线、虚线
//- (void)drawRect:(CGRect)rect {
//    [super drawRect:rect];
//    // 开启上下文
//    CGContextRef context = UIGraphicsGetCurrentContext();
//
//    // 绘制线的宽度
//    CGContextSetLineWidth(context, 2.0);
//    UIColor *arcColor;
//    if (self.index < self.progress) {
//        arcColor = COLOR(0x349DC5);
//    } else {
//        arcColor = self.index == self.progress ? COLOR(0xEDFE6C): COLOR(0xA2AEBA) ;
//    }
//    CGContextSetFillColorWithColor(context, arcColor.CGColor);
//    CGContextSetStrokeColorWithColor(context, COLOR(0x349DC5).CGColor);
//    // 添加一个圆
//    CGContextAddArc(context, 25, 28, 7.5, 0, 2 * M_PI, 0);
//    // 绘制填充
//    if (self.index == self.progress) {
//        CGContextDrawPath(context, kCGPathFillStroke); // 绘制路径加填充
//    } else {
//        CGContextDrawPath(context, kCGPathFill);
//    }
//    // 绘制线条
//    if (self.index < self.progress && self.index != self.rowCount) {
//        // 设置线条的样式
//        CGContextSetLineCap(context, kCGLineCapRound);
//        // 线的颜色
//        CGContextSetStrokeColorWithColor(context, arcColor.CGColor);
//        // 开始绘制
//        CGContextBeginPath(context);
//        if (self.index > 0) {
//            CGContextMoveToPoint(context, 25.0, 0);
//            CGContextAddLineToPoint(context, 25.0,20.0);
//        }
//        // 设置实线绘制起点
//        CGContextMoveToPoint(context, 25.0, 36);
//        // 绘制实现的终点
//        CGContextAddLineToPoint(context, 25.0,92.0);
//        // 绘制
//        CGContextStrokePath(context);
//
//    } else {
//        // 设置线条的样式
//        CGContextSetLineCap(context, kCGLineCapRound);
//        // lengths的值｛10,10｝表示先绘制10个点，再跳过10个点，如此反复
//        // 开始绘制
//        CGContextBeginPath(context);
//        CGFloat lengths[] = {5,5};
//        if (self.index > self.progress) {
//            // 线的颜色
//            CGContextSetStrokeColorWithColor(context, COLOR(0xA2AEBA).CGColor);
//            CGContextMoveToPoint(context, 25.0, 0);
//            // 虚线的起始点
//            CGContextSetLineDash(context, 0, lengths,2);
//            // 绘制虚线的终点
//            CGContextAddLineToPoint(context, 25.0,20);
//            // 绘制
//            CGContextStrokePath(context);
//        } else { // 画实线
//            // 线的颜色
//            CGContextSetStrokeColorWithColor(context, COLOR(0x349DC5).CGColor);
//            CGContextMoveToPoint(context, 25.0, 0);
//            CGContextAddLineToPoint(context, 25.0,20);
//            // 绘制
//            CGContextStrokePath(context);
//        }
//        if (self.index != self.rowCount) {
//            // 线的颜色
//            CGContextSetStrokeColorWithColor(context, COLOR(0xA2AEBA).CGColor);
//            // 设置虚线绘制起点
//            CGContextMoveToPoint(context, 25.0, 36);
//            // 虚线的起始点
//            CGContextSetLineDash(context, 0, lengths,2);
//            // 绘制虚线的终点
//            CGContextAddLineToPoint(context, 25.0,90.0);
//            // 绘制
//            CGContextStrokePath(context);
//        }
//    }
//
//
//    // 关闭上下文
////    CGContextClosePath(context);
//
//    [self setTextColor];
//}
//
//- (void)setTextColor {
//
//    UIColor *textColor;
//    UIColor *timeColor;
//    if (self.index < self.progress) {
//        textColor = COLOR(0x4E5F6F);
//        timeColor = COLOR(0xA2AEBA);
//    } else if (self.index == self.progress) {
//        textColor = COLOR(0x00ABF0);
//        timeColor = COLOR(0x00ABF0);
//    } else {
//        textColor = COLOR(0xA2AEBA);
//        timeColor = COLOR(0xA2AEBA);
//    }
//
//    self.titleLabel.textColor = textColor;
//    self.timeLabel.textColor = timeColor;
//}

#pragma mark - 绘制左侧圆、实线、虚线
- (void)drawRect:(CGRect)rect {
    [super drawRect:rect];
    // 开启上下文
    CGContextRef context = UIGraphicsGetCurrentContext();

    // 绘制线的宽度
    CGContextSetLineWidth(context, 2.0);
    UIColor *arcColor;
    if (self.progressStatus == 1) {
        arcColor = COLOR(0x349DC5);
    } else if (self.progressStatus == 2) {
        arcColor = COLOR(0xEDFE6C);
    } else if (self.progressStatus == 3) {
        arcColor = COLOR(0xA2AEBA);
    }
    CGContextSetFillColorWithColor(context, arcColor.CGColor);
    CGContextSetStrokeColorWithColor(context, COLOR(0x349DC5).CGColor);
    // 添加一个圆
    CGContextAddArc(context, 25, 28, 7.5, 0, 2 * M_PI, 0);
    // 绘制填充
    if (self.progressStatus == 2) {
        CGContextDrawPath(context, kCGPathFillStroke); // 绘制路径加填充
    } else {
        CGContextDrawPath(context, kCGPathFill);
    }
    // 绘制线条
    // 圆上方的线
    if (!self.isFisrtCell) { // 如果不是第一个cell才画线
        if (self.topIsDash) {
            // 设置线条的样式
            CGContextSetLineCap(context, kCGLineCapRound);
            // lengths的值｛10,10｝表示先绘制10个点，再跳过10个点，如此反复
            // 开始绘制
            CGContextBeginPath(context);
            CGFloat lengths[] = {5,5};
            // 线的颜色
            CGContextSetStrokeColorWithColor(context, COLOR(0xA2AEBA).CGColor);
            CGContextMoveToPoint(context, 25.0, 0);
            // 虚线的起始点
            CGContextSetLineDash(context, 0, lengths,2);
            // 绘制虚线的终点
            CGContextAddLineToPoint(context, 25.0,20);
            // 绘制
            CGContextStrokePath(context);
        } else {
            // 设置线条的样式
            CGContextSetLineCap(context, kCGLineCapRound);
            // 线的颜色
            CGContextSetStrokeColorWithColor(context, COLOR(0x349DC5).CGColor);
            // 开始绘制
            CGContextBeginPath(context);
            CGContextMoveToPoint(context, 25.0, 0);
            CGContextAddLineToPoint(context, 25.0,20.0);
            // 绘制
            CGContextStrokePath(context);
        }
    }
    
    // 圆下方的线
    if (!self.isLastCell) { // 如果不是最后一个才画线
        if (self.bottomIsDash) {
            // 设置线条的样式
            CGContextSetLineCap(context, kCGLineCapRound);
            // lengths的值｛10,10｝表示先绘制10个点，再跳过10个点，如此反复
            // 开始绘制
            CGContextBeginPath(context);
            CGFloat lengths[] = {5,5};
            // 线的颜色
            CGContextSetStrokeColorWithColor(context, COLOR(0xA2AEBA).CGColor);
            // 设置虚线绘制起点
            CGContextMoveToPoint(context, 25.0, 36);
            // 虚线的起始点
            CGContextSetLineDash(context, 0, lengths,2);
            // 绘制虚线的终点
            CGContextAddLineToPoint(context, 25.0,90.0);
            // 绘制
            CGContextStrokePath(context);
        } else {// 画实线
            // 设置线条的样式
            CGContextSetLineCap(context, kCGLineCapRound);
            // 线的颜色
            CGContextSetStrokeColorWithColor(context, COLOR(0x349DC5).CGColor);
            // 开始绘制
            CGContextBeginPath(context);
            // 设置实线绘制起点
            CGContextMoveToPoint(context, 25.0, 36);
            // 绘制实现的终点
            CGContextAddLineToPoint(context, 25.0,92.0);
            // 绘制
            CGContextStrokePath(context);

        }
    }
    
    // 关闭上下文
    //    CGContextClosePath(context);

    [self setTextColor];
}

- (void)setTextColor {

    UIColor *textColor;
    UIColor *timeColor;
    if (self.progressStatus == 1) {
        textColor = COLOR(0x4E5F6F);
        timeColor = COLOR(0xA2AEBA);
    } else if (self.progressStatus == 2) {
        textColor = COLOR(0x00ABF0);
        timeColor = COLOR(0x00ABF0);
    } else if (self.progressStatus == 3) {
        textColor = COLOR(0xA2AEBA);
        timeColor = COLOR(0xA2AEBA);
    }

    self.titleLabel.textColor = textColor;
    self.timeLabel.textColor = timeColor;
}

@end
